js SelectRenderer封装类 /** * Select渲染器 */ class SelectRenderer { constructor(config = {}) { this.config = $.extend({ placeholder: true, placeholderText: '请选择', allowClear: false, searchable: false, ajax: false, data: [], valueField: 'value', textField: 'text', disabledField: 'disabled', selectedField: 'selected', groupField: 'group' }, config); } /** * 渲染单个select * @param {jQuery|string} selector - 选择器或jQuery对象 * @param {Array|Object} data - 数据 * @param {Object} options - 选项 */ render(selector, data = null, options = {}) { var $select = $(selector); if (!$select.length) return; var config = $.extend({}, this.config, options); var renderData = data || config.data; // 清空现有选项 $select.empty(); // 添加占位符 if (config.placeholder) { var $placeholder = $('', { label: groupName }); $.each(items, function(index, item) { var $option = $('