type
:type BaseColumn = { label: string; props: string }
type Column = { type: 'text' } & BaseColumn
type LinkColumn = { type: 'link'; path: string } & BaseColumn
type TableColumn = Column | LinkColumn
keyof
для юниона объектов показывает только те поля, которые есть в каждом из них. Это логично, т.к. к типу TableColumn
ты не можешь обратиться по полую .link
предварительно не сузив тип. union
- строгий. app.post('/tutorials', (req,res,next) => {
// test1 = req.body; // глобальные серверные переменные тоже использовать точно не надо
console.log(req.body);
})
axios.post('http://localhost:5000/tutorials', this.data.login)
.push
и тебе откроет файл с декларацией, если она не\не только в next/dist/shared/lib/app-router-context.d.ts
- разбирайся откуда взялась левая. v-if="showSwiper"
и переключаете, соответственно, this.showSwiper
. Если v-if="false"
компонент будет разрушен и всё.destroy
, и вам не надо не о чём заботиться. Иногда конечно встречается кривое г-но с текущей памятью, но в таких случях проще самому написать компонент с нуля.// удаляет значение
function removeFieldValue(previous, value) {
if (!previous)
return '';
if (typeof value !== 'string')
value = String(value);
const uniqueValues = splitFieldValues(previous);
uniqueValues.delete(value.trim());
return [...uniqueValues].join(' ');
}
// удаляет значение по его порядковому номеру
function removeFieldValueByIndex(previous, index) {
if (!previous)
return '';
const uniqueValues = [...splitFieldValues(previous)];
uniqueValues.splice(index, 1);
return uniqueValues.join(' ');
}
var filePath = getFilePath("name.xlsx");
var excelApp = new ActiveXObject("Excel.Application");
excelApp.DisplayAlerts = false;
excelApp.DisplayClipboardWindow = false;
excelApp.DisplayCommentIndicator = false;
excelApp.DisplayDocumentInformationPanel = false;
excelApp.DisplayExcel4Menus = false;
excelApp.DisplayFormulaAutoComplete = false;
excelApp.DisplayFormulaBar = false;
excelApp.DisplayFullScreen = false;
excelApp.DisplayFunctionToolTips = false;
excelApp.DisplayInsertOptions = false;
excelApp.DisplayNoteIndicator = false;
excelApp.DisplayPasteOptions = false;
excelApp.DisplayRecentFiles = false;
excelApp.DisplayScrollBars = false;
excelApp.DisplayStatusBar = false;
excelApp.ShowChartTipNames = false;
excelApp.ShowChartTipValues = false;
excelApp.ShowDevTools = false;
excelApp.ShowMenuFloaties = false;
excelApp.ShowQuickAnalysis = false;
excelApp.ShowSelectionFloaties = false;
excelApp.ShowStartupDialog = false;
excelApp.ShowToolTips = false;
excelApp.Visible = true;
excelApp.ExecuteExcel4Macro('SHOW.TOOLBAR("Ribbon", False)');
var workbook = excelApp.Workbooks.Open(filePath);
var worksheet = workbook.Worksheets(1);
worksheet.Activate();
worksheet.Application.ActiveWindow.DisplayFormulas = false;
worksheet.Application.ActiveWindow.DisplayHeadings = false;
worksheet.Application.ActiveWindow.DisplayHorizontalScrollBar = false;
worksheet.Application.ActiveWindow.DisplayOutline = false;
worksheet.Application.ActiveWindow.DisplayRightToLeft = false;
worksheet.Application.ActiveWindow.DisplayRuler = false;
worksheet.Application.ActiveWindow.DisplayVerticalScrollBar = false;
worksheet.Application.ActiveWindow.DisplayWhitespace = false;
worksheet.Application.ActiveWindow.DisplayWorkbookTabs = false;
worksheet.Application.ActiveWindow.DisplayZeros = false;
worksheet.Application.ActiveWindow.Zoom = true;
worksheet.Application.ActiveWindow.Zoom = 100;
function getFilePath(fileName) {
var fso = new ActiveXObject('Scripting.FileSystemObject');
return fso.GetAbsolutePathName('.\\' + fileName);
}