UNPKG

drip-ui

Version:

Lightweight Mobile UI Components built on Vue

98 lines (85 loc) 2.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _create = _interopRequireDefault(require("../utils/create")); var _button = _interopRequireDefault(require("../button")); var _default2 = (0, _create["default"])({ render: function render() { var _vm = this; var _h = _vm.$createElement; var _c = _vm._self._c || _h; return _c('div', { staticClass: "radio" }, [_c('ul', { staticClass: "radio-ul" }, _vm._l(_vm.list, function (item, index) { return _c('li', { key: index, staticClass: "radio-ul-li" }, [_c('drip-button', { style: { width: _vm.width }, attrs: { "type": !item.disabled && _vm.values.includes(item.value) ? 'orange' : 'default', "disabled": item.disabled }, domProps: { "innerHTML": _vm._s(item.name) }, on: { "click": function click($event) { _vm.checkButton(item); } } })], 1); }))]); }, name: 'select-button', props: { // 要求数据格式为[{name: '', value: ''}] list: { type: Array, required: true }, // 要求是list某个元素的value值 values: { type: Array, "default": function _default() { return []; }, required: true }, type: { type: String, "default": 'radio' }, width: { type: String } }, methods: { checkButton: function checkButton(item) { var index = this.values.indexOf(item.value); if (index == -1) { if (this.type === 'radio') { this.values.length = []; } this.values.push(item.value); } else { if (this.type !== 'radio' && this.values.length !== 1) { this.values.splice(index, 1); } } this.$emit('getValue', (0, _extends2["default"])(item, { isSelect: index === -1 })); } }, components: { dripButton: _button["default"] } }); exports["default"] = _default2;