Esempio n. 1
0
        private void OnInputChange(ChangeEventArgs args)
        {
            var v = args?.Value.ToString();

            Value = v;

            if (Options != null)   // Options 参数不为空时,本地过滤选项
            {
                _options.Clear();
                _options = !string.IsNullOrWhiteSpace(v) ? Options.Where(option => FilterOption(v, option)).ToList() : Options.ToList();

                // 默认选中第一个
                if (_options.Count > 0)
                {
                    ToggleState = true;
                }
            }
            else if (FormatList != null)   // FormatList 参数不为空时,按照指定 Format 格式添加选项
            {
                _options.Clear();
                if (!string.IsNullOrWhiteSpace(v))
                {
                    FormatList.ForEach(f => _options.Add(string.Format(f, v)));
                }
                // 默认选中第一个
                if (_options.Count > 0)
                {
                    ToggleState = true;
                }
            }
            else  // 一般模式,从远程获取数据添加选项
            {
                // 此处暂无需处理
            }

            OnChange?.Invoke(v);
        }