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 = $('